Source code transformations for efficient SIMD code generation

نویسندگان

  • A. BERNA
  • M. JIMENEZ
  • J. M. LLABERIA
چکیده

Despite the effort inverted the last years in commercial compilers to generate efficient SIMD instructionsbased code sequences from conventional sequential programs, the small numbers of compilers that can automatically use these instructions achieve in most cases unsatisfactory results. This work shows how exposing register level reuse in source codes helps vectorizing compilers as ICC to generate efficient SIMD code that exploits vectorial register reuse. To this end we use reverse-engineering to know the limitations of ICC compiler. We compare performance of compiler generated code to performance of hand-optimized assembly-written numerical libraries achieving around the 72% performance of MKL for example.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Source-to-Source Transformations for Efficient SIMD Code Generation

In the last years, there has been much effort in commercial compilers to generate efficient SIMD instructions-based code sequences from conventional sequential programs. However, the small numbers of compilers that can automatically use these instructions achieve in most cases unsatisfactory results. Therefore, the code often has to be written manually in assembly language or using compiler bui...

متن کامل

Automatic Transformations for Effective Parallel Execution on Intel Many Integrated Core

We demonstrate in this work the potential effectiveness of a source-to-source framework for automatically optimizing a sub-class of affine programs on the Intel Many Integrated Core Architecture. Data locality is achieved through complex and automated loop transformations within the polyhedral framework to enable parallel tiling, and the resulting tiles are processed by an aggressive automatic ...

متن کامل

POET: a scripting language for applying parameterized source-to-source program transformations

We present POET, a scripting language designed for applying advanced program transformations to code in arbitrary programming languages as well as building adhoc translators between these languages. We have used POET to support a large number of compiler optimizations, including loop interchange, parallelization, blocking, fusion/fission, strength reduction, scalar replacement, SSE vectorizatio...

متن کامل

SIMD code generation in data-parallel programming

Today’s desktop PCs feature a variety of parallel processing units. Developing applications that exploit this parallelism is a demanding task, and a programmer has to obtain detailed knowledge about the hardware for efficient implementation. CGiS is a data-parallel programming language providing a unified abstraction for two parallel processing units: graphics processing units (GPUs) and the ve...

متن کامل

tobias christian grosser Diploma

Sustained growth in high performance computing and the availability of advanced mobile devices increase the use of computation intensive applications. To ensure fast execution and consequently low power usage modern hardware provides multi-level caches, multiple cores, SIMD instructions or even dedicated vector accelerators. Taking advantage of those manually is difficult and often not possible...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012